package com.tspp.dao;

/**
 * Factory class. Creates requested dao object(Pattern Factory method)
 * @see http://en.wikipedia.org/wiki/Factory_method_pattern
 * @author Maks
 */
public class DaoFactory {

    /**
     * Creates ApplicationDao
     * @return applicationDao object
     */
    public static ApplicationDao getApplicationDao() {
        return new ApplicationDaoImpl();
    }

    /**
     * Creates EntrantDao
     * @return EntrantDao object
     */
    public static EntrantDao getEntrantDao() {
        return new EntrantDaoImpl();
    }

    /**
     * Creates examDao
     * @return examDao object
     */
    public static ExamDao getExamDao() {
        return new ExamDaoImpl();
    }

    /**
     * Creates examResultDao
     * @return examResultDao object
     */
    public static ExamResultDao getExamResultDao() {
        return new ExamResultDaoImpl();
    }

    /**
     * Creates groupaDao
     * @return groupaDao object
     */
    public static GroupaDao getGroupaDao() {
        return new GroupaDaoImpl();
    }

    /**
     * Creates specialityDao
     * @return specialityDao object
     */
    public static SpecialityDao getSpecialityDao() {
        return new SpecialityDaoImpl();
    }

    public static UserDao getUserDao() {
        return new UserDao();
    }
}

